-
Notifications
You must be signed in to change notification settings - Fork 579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stokhos: Make sure deep_copy uses contiguous layouts where intended #10783
Stokhos: Make sure deep_copy uses contiguous layouts where intended #10783
Conversation
Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; This inspection will remain valid until a new commit to source branch is performed. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-10.1.243
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Using Repos:
Pull Request Author: masterleinad |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-10.1.243
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
|
@trilinos/framework the Trilinos_PR_intel-17.0.1 failing build#485 https://trilinos-cdash.sandia.gov/build/302094/configure was due to configure issue unrelated to this PR, were any changes made for the intel/17 jobs/env or is this a spurious glitch that just requires retest? Here is the error:
|
@masterleinad looks like the Stokhos test BEFORE: jsrun '-p' '1' '--rs_per_socket' '4' '/vscratch1/trilinos/jaas/workspace/Trilinos_PR_cuda-10.1.243/pull_request_test/packages/stokhos/test/UnitTest/Stokhos_KokkosViewUQPCEUnitTest_Cuda.exe'
AFTER: export TPETRA_ASSUME_CUDA_AWARE_MPI=1; jsrun '-M -disable_gpu_hooks' '-p' '1' '--rs_per_socket' '4' '/vscratch1/trilinos/jaas/workspace/Trilinos_PR_cuda-10.1.243/pull_request_test/packages/stokhos/test/UnitTest/Stokhos_KokkosViewUQPCEUnitTest_Cuda.exe'
Warning: PAMI CUDA HOOK disabled
Teuchos::GlobalMPISession::GlobalMPISession(): started processor with name vortex2 and rank 0!
Kokkos Version: 3.6.1
Compiler:
KOKKOS_COMPILER_GNU: 831
KOKKOS_COMPILER_NVCC: 1
Architecture:
Default Device: N6Kokkos4CudaE
KOKKOS_ENABLE_ISA_KNC: no
KOKKOS_ENABLE_ISA_POWERPCLE: no
KOKKOS_ENABLE_ISA_X86_64: no
Atomics:
KOKKOS_ENABLE_GNU_ATOMICS: no
KOKKOS_ENABLE_INTEL_ATOMICS: no
KOKKOS_ENABLE_WINDOWS_ATOMICS: no
Vectorization:
KOKKOS_ENABLE_PRAGMA_IVDEP: no
KOKKOS_ENABLE_PRAGMA_LOOPCOUNT: no
KOKKOS_ENABLE_PRAGMA_SIMD: no
KOKKOS_ENABLE_PRAGMA_UNROLL: no
KOKKOS_ENABLE_PRAGMA_VECTOR: no
Memory:
KOKKOS_ENABLE_HBWSPACE: no
KOKKOS_ENABLE_INTEL_MM_ALLOC: no
KOKKOS_ENABLE_POSIX_MEMALIGN: no
Options:
KOKKOS_ENABLE_ASM: yes
KOKKOS_ENABLE_CXX14: yes
KOKKOS_ENABLE_CXX17: no
KOKKOS_ENABLE_CXX20: no
KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK: yes
KOKKOS_ENABLE_HWLOC: no
KOKKOS_ENABLE_LIBRT: no
Host Serial Execution Space:
KOKKOS_ENABLE_SERIAL: yes
Serial Atomics:
KOKKOS_ENABLE_SERIAL_ATOMICS: no
Serial Runtime Configuration:
Device Execution Space:
KOKKOS_ENABLE_CUDA: yes
Cuda Atomics:
KOKKOS_ENABLE_CUDA_ATOMICS: no
Cuda Options:
KOKKOS_ENABLE_CUDA_LAMBDA: yes
KOKKOS_ENABLE_CUDA_LDG_INTRINSIC: yes
KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE: no
KOKKOS_ENABLE_CUDA_UVM: yes
KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA: yes
Cuda Runtime Configuration:
macro KOKKOS_ENABLE_CUDA : defined
macro CUDA_VERSION = 10010 = version 10.1
Kokkos::Cuda[ 0 ] Tesla V100-SXM2-16GB capability 7.0, Total Global Memory: 15.75 G, Shared Memory per Block: 48 K : Selected
Kokkos::Cuda[ 1 ] Tesla V100-SXM2-16GB capability 7.0, Total Global Memory: 15.75 G, Shared Memory per Block: 48 K
Kokkos::Cuda[ 2 ] Tesla V100-SXM2-16GB capability 7.0, Total Global Memory: 15.75 G, Shared Memory per Block: 48 K
Kokkos::Cuda[ 3 ] Tesla V100-SXM2-16GB capability 7.0, Total Global Memory: 15.75 G, Shared Memory per Block: 48 K
***
*** Unit test suite ...
***
Sorting tests by group name then by the order they were added ... (time = 6e-06)
Running unit tests ...
0. Kokkos_View_PCE_DS_DeepCopy_Subview_Range_UnitTest ... [Passed] (0.00833 sec)
1. Kokkos_View_PCE_DS_LayoutLeft_Size_UnitTest ... [Passed] (0.00156 sec)
2. Kokkos_View_PCE_DS_LayoutLeft_DeepCopy_UnitTest ... [Passed] (0.00235 sec)
3. Kokkos_View_PCE_DS_LayoutLeft_DeepCopy_NonContiguous_UnitTest ...
p=0: *** Caught standard std::exception of type 'std::runtime_error' :
Deprecation Error: Kokkos::deep_copy extents of views don't match: view(10,11) src_tmp(11,10)
[FAILED] (0.00221 sec) Kokkos_View_PCE_DS_LayoutLeft_DeepCopy_NonContiguous_UnitTest
Location: /vscratch1/trilinos/jaas/workspace/Trilinos_PR_cuda-10.1.243/Trilinos/packages/stokhos/test/UnitTest/Stokhos_KokkosViewUQPCEUnitTest.hpp:266
4. Kokkos_View_PCE_DS_LayoutLeft_DeepCopy_ConstantScalar_UnitTest ... [Passed] (0.00228 sec)
5. Kokkos_View_PCE_DS_LayoutLeft_DeepCopy_ConstantPCE_UnitTest ... [Passed] (0.00225 sec)
6. Kokkos_View_PCE_DS_LayoutLeft_DeepCopy_ConstantPCE2_UnitTest ... [Passed] (0.0025 sec)
7. Kokkos_View_PCE_DS_LayoutLeft_Unmanaged_UnitTest ... [Passed] (0.00236 sec)
8. Kokkos_View_PCE_DS_LayoutLeft_AssignData_UnitTest ... [Passed] (0.0018 sec)
9. Kokkos_View_PCE_DS_LayoutRight_Size_UnitTest ... [Passed] (0.00151 sec)
10. Kokkos_View_PCE_DS_LayoutRight_DeepCopy_UnitTest ... [Passed] (0.00231 sec)
11. Kokkos_View_PCE_DS_LayoutRight_DeepCopy_NonContiguous_UnitTest ... [Passed] (0.00271 sec)
12. Kokkos_View_PCE_DS_LayoutRight_DeepCopy_ConstantScalar_UnitTest ... [Passed] (0.00226 sec)
13. Kokkos_View_PCE_DS_LayoutRight_DeepCopy_ConstantPCE_UnitTest ... [Passed] (0.00223 sec)
14. Kokkos_View_PCE_DS_LayoutRight_DeepCopy_ConstantPCE2_UnitTest ... [Passed] (0.00243 sec)
15. Kokkos_View_PCE_DS_LayoutRight_Unmanaged_UnitTest ... [Passed] (0.00229 sec)
16. Kokkos_View_PCE_DS_LayoutRight_AssignData_UnitTest ... [Passed] (0.00178 sec)
17. Kokkos_View_PCE_DS_NoLayout_Size_UnitTest ... [Passed] (0.00151 sec)
18. Kokkos_View_PCE_DS_NoLayout_DeepCopy_UnitTest ... [Passed] (0.00229 sec)
19. Kokkos_View_PCE_DS_NoLayout_DeepCopy_NonContiguous_UnitTest ...
p=0: *** Caught standard std::exception of type 'std::runtime_error' :
Deprecation Error: Kokkos::deep_copy extents of views don't match: view(10,11) src_tmp(11,10)
[FAILED] (0.002 sec) Kokkos_View_PCE_DS_NoLayout_DeepCopy_NonContiguous_UnitTest
Location: /vscratch1/trilinos/jaas/workspace/Trilinos_PR_cuda-10.1.243/Trilinos/packages/stokhos/test/UnitTest/Stokhos_KokkosViewUQPCEUnitTest.hpp:266
20. Kokkos_View_PCE_DS_NoLayout_DeepCopy_ConstantScalar_UnitTest ... [Passed] (0.00224 sec)
21. Kokkos_View_PCE_DS_NoLayout_DeepCopy_ConstantPCE_UnitTest ... [Passed] (0.00224 sec)
22. Kokkos_View_PCE_DS_NoLayout_DeepCopy_ConstantPCE2_UnitTest ... [Passed] (0.00246 sec)
23. Kokkos_View_PCE_DS_NoLayout_Unmanaged_UnitTest ... [Passed] (0.00228 sec)
24. Kokkos_View_PCE_DS_NoLayout_AssignData_UnitTest ... [Passed] (0.00178 sec)
The following tests FAILED:
3. Kokkos_View_PCE_DS_LayoutLeft_DeepCopy_NonContiguous_UnitTest ...
19. Kokkos_View_PCE_DS_NoLayout_DeepCopy_NonContiguous_UnitTest ...
Total Time: 0.0603 sec
Summary: total = 25, run = 25, passed = 23, failed = 2
End Result: TEST FAILED
|
@trilinos/framework the failing Failure output from cdash https://trilinos-cdash.sandia.gov/test/8047617 for reference:
Is this possibly a preexisting failure that slipped through with testing with uvm enabled? |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-10.1.243
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Using Repos:
Pull Request Author: masterleinad |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-10.1.243
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
|
Regarding #10783 (comment) Trilinos/packages/stokhos/src/sacado/kokkos/pce/KokkosExp_View_UQ_PCE_Contiguous.hpp Lines 1549 to 1574 in 7919a38
In this particular case, this pull request changes the layout from |
Based on my observations in #10783 (comment), I opted for replacing |
Thanks for the update @masterleinad ! @etphipp when you get a chance can you re-review the updates to the PR (changes dismissed the previous approval)? |
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; This inspection will remain valid until a new commit to source branch is performed. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-10.1.243
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Using Repos:
Pull Request Author: masterleinad |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-10.1.243
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
|
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-10.1.243
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Using Repos:
Pull Request Author: masterleinad |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-7.2.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-10.1.243
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
2 similar comments
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay. I was on vacation.
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ etphipp ]! |
Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged |
Merge on Pull Request# 10783: IS A SUCCESS - Pull Request successfully merged |
@trilinos/stokhos @etphipp
Motivation
kokkos/kokkos#5209 added a check for the layout to be used in Kokkos::View constructors to be constructible from just extents. The only standard layout for which this property doesn't hold is
LayoutStride
. The cases fixed below mean to create a contiguous representation of a givenView
in case the View is not contiguous in memory but the newly created Views just copy the layout from the old ones which makes the new Views also non-contiguous in memory in case ofLayoutStride
. In the end, the newView
is initialized only from extents which again doesn't do the right thing forLayoutStride
since its constructor expects extents and strides alternating.The proposed fix is to just take the preferred layout of the associated execution space which is either
LayoutLeft
orLayoutRight
and in particular constructible from extents only.Related Issues
Fixes kokkos/kokkos#5243.
Testing
Compiling and running all Stokhos tests with the
Serial
backend andKokkos
develop
.